
mera* crea_meraviglia(Tipo_meraviglia nome) {
	mera *meraviglia = malloc(sizeof(mera));		//NB.: per ora usiamo solo le meraviglie A
	assert(meraviglia != NULL);
	switch(nome){
		case RHODOS:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_rhodos_a();
			break;
		case ALEXANDRIA:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_alexandria_a();
			break;
		case EPHESOS:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_ephesos_a();
			break;
		case BABYLON:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_babylon_a();
			break;
		case OLYMPIA:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_olympia_a();
			break;
		case HALIKARNASSOS:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_halikarnassos_a();
			break;
		case GIZAH:
			meraviglia->nome = nome;
			meraviglia->livello = 0;
			meraviglia->fase = mazzo_gizah_a();
			break;		
	}
	return meraviglia;
}

void dealloca_meraviglia(mera* m){
	free(m);
	return;
}

void stampa_nome_mera(Tipo_meraviglia n){
	switch(n){
		case RHODOS:
			printf("RHODOS\t");
			break;
		case ALEXANDRIA:
			printf("ALEXANDRIA\t");
			break;
		case EPHESOS:
			printf("EPHESOS\t");
			break;
		case BABYLON:
			printf("BABYLON\t");
			break;
		case OLYMPIA:
			printf("OLYMPIA\t");
			break;
		case HALIKARNASSOS:
			printf("HALIKARNASSOS");
			break;
		case GIZAH:
			printf("GIZAH\t");
			break;
	}
	return;
}
